#!/bin/sh
#
# Starts dropbear sshd.
#

# Allow a few customizations from a config file
test -r /etc/default/dropbear && . /etc/default/dropbear

start() {
	DROPBEAR_ARGS="$DROPBEAR_ARGS -R"

	# If /etc/dropbear is a symlink to /var/run/dropbear, and
	#   - the filesystem is RO (i.e. we can not rm the symlink),
	#     create the directory pointed to by the symlink.
	#   - the filesystem is RW (i.e. we can rm the symlink),
	#     replace the symlink with an actual directory
	# if [ -L /etc/dropbear \
	#      -a "$(readlink /etc/dropbear)" = "/var/run/dropbear" ]
	# then
	# 	if rm -f /etc/dropbear >/dev/null 2>&1; then
	# 		mkdir -p /etc/dropbear
	# 	else
	# 		echo "No persistent location to store SSH host keys. New keys will be"
	# 		echo "generated at each boot. Are you sure this is what you want to do?"
	# 		mkdir -p "$(readlink /etc/dropbear)"
	# 	fi
	# fi

	mkdir -p "$(readlink /etc/dropbear)"

	printf "Starting dropbear sshd: "
	umask 077

	start-stop-daemon -S -q -p /var/run/dropbear.pid \
		--exec /usr/sbin/dropbear -- $DROPBEAR_ARGS
	[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
	printf "Stopping dropbear sshd: "
	start-stop-daemon -K -q -p /var/run/dropbear.pid
	[ $? = 0 ] && echo "OK" || echo "FAIL"
}
restart() {
	stop
	start
}

case "$1" in
  start)
  	start
	;;
  stop)
  	stop
	;;
  restart|reload)
  	restart
	;;
  *)
	echo "Usage: $0 {start|stop|restart}"
	exit 1
esac

exit $?
